﻿using System;
using System.Collections.Generic;
using System.Text;

namespace PCR.Logic
{
    using PCR.Base;

    /// <summary>
    /// Virus type class 
    /// </summary>
    internal class VirusType : GuidObject, IVirusType 
    {
        /// <summary>
        /// Get or set the virus type name
        /// </summary>
        public string Name 
        {
            get { return this._name; }
            set { this._name = value; }
        }
        string _name = string.Empty;
        
        /// <summary>
        /// Get or set the virus type expansion coefficient
        /// </summary>
        public double EVal 
        {
            get { return this._eVal; }
            set { this._eVal = value; }
        }
        double _eVal = 0.0;

        /// Virus exponent calculation parameter 
        /// 感染单位= 10^(K*CT + B)
        /// <summary>
        /// Get or set the virus calculation K parameter
        /// </summary>
        public double KVal 
        {
            get { return this._kVal; }
            set { this._kVal = value; }
        }
        double _kVal = 0.0;

        /// <summary>
        /// Get or set the virus calculation B parameter
        /// </summary>
        public double BVal 
        {
            get { return this._bVal; }
            set { this._bVal = value; }
        }
        double _bVal = 0.0;

        /// <summary>
        /// Get or set the virus define type
        /// </summary>
        public VirusDefineType VirusDefineType 
        {
            get { return this._eDefineType; }
            set { this._eDefineType = value;} 
        }
        VirusDefineType _eDefineType = VirusDefineType.HIGHDANGER;
    }
}
